<?php
namespace Home\Logic;

use My\Model\OrderModel;

class OrderLogic {
	
	/**
	 * 订单类型与处理类映射
	 * @var unknown
	 */
	static $ORDER_TYPES = array(
		OrderModel::ORDER_TYPE_COMMON => 'Order', // 普通订单
		OrderModel::ORDER_TYPE_AGENT_PACKAGE => 'AgentPackageOrder', // 代理套餐订单
	);
	
	/**
	 * 操作句柄
	 * @var string
	 * @access protected
	 */
	static protected $handler;
	
	/**
	 * 连接分布式订单系统
	 * @access public
	 * @param string $type 文件类型
	 * @param array $options  配置数组
	 * @return void
	 */
	static public function setDriver( $type = OrderModel::ORDER_TYPE_COMMON, $options=array() ) {
		$class  =   'Home\\Logic\\OrderLogic\\'.self::$ORDER_TYPES[$type];
		self::$handler = new $class($options);
	}
	
	static public function __callstatic($method, $args) {
		//调用缓存驱动的方法
		if(method_exists(self::$handler, $method)) {
			return call_user_func_array(array(self::$handler,$method), $args);
		}
	}
	
}